package com.chinaedu.oc.util.common;

public class StringUtil {
	/**
	 * 字符串判空
	 * @Description: TODO
	 * @param @param str
	 * @param @return    
	 * @return boolean    返回类型 
	 * @throws
	 */
	public static boolean isBlack(String str) {
		return str == null || "".equals(str.trim());
	}
	/**
	 * 字符串首字母大写
	 * @Description: TODO
	 * @param @param str
	 * @param @return    
	 * @return String    返回类型 
	 * @throws
	 */
	public static String firstToUp(String str) {
		char[] cs = str.toCharArray();
		cs[0] -= 32;
		return String.valueOf(cs);
	}
	/**
	 * 驼峰转下划线方式
	 * @Description: TODO
	 * @param @param name
	 * @param @return    
	 * @return String    返回类型 
	 * @throws
	 */
	public static String underscoreName(String name) {
	    StringBuilder result = new StringBuilder();
	    if (name != null && name.length() > 0) {
	        // 将第一个字符处理成大写
	        result.append(name.substring(0, 1).toUpperCase());
	        // 循环处理其余字符
	        for (int i = 1; i < name.length(); i++) {
	            String s = name.substring(i, i + 1);
	            // 在大写字母前添加下划线
	            if (s.equals(s.toUpperCase()) && !Character.isDigit(s.charAt(0))) {
	                result.append("_");
	            }
	            // 其他字符直接转成大写
	            result.append(s.toUpperCase());
	        }
	    }
	    
	    return result.toString().toLowerCase();
	}
	
	public static void main(String[] args) {
		System.out.println(underscoreName("userName"));
	}
}
